home *** CD-ROM | disk | FTP | other *** search
- import java.io.BufferedOutputStream;
- import java.io.BufferedWriter;
- import java.io.ByteArrayOutputStream;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.FileWriter;
- import java.io.OutputStream;
- import java.io.PrintStream;
- import java.io.Writer;
- import java.text.MessageFormat;
- import java.util.Enumeration;
- import java.util.Hashtable;
-
- public class server {
- // $FF: renamed from: a int
- static int field_0 = 0;
-
- public static native void setCurrentDirectory(byte[] var0);
-
- public static native boolean isSaveErr();
-
- public static native void signalReady();
-
- public static native byte[] waitStart();
-
- public static native void signalDone(byte[] var0);
-
- // $FF: renamed from: a () void
- private static void method_0() throws a {
- try {
- System.loadLibrary("javacb");
- } catch (Throwable var1) {
- throw new a("JAVACB.DLL cannot be loaded.");
- }
- }
-
- // $FF: renamed from: a (java.lang.String, java.lang.String) void
- private static void method_1(String var0, String var1) {
- try {
- PrintStream var2 = new PrintStream(new BufferedOutputStream(new FileOutputStream(var0)));
-
- try {
- var2.println(var1);
- } finally {
- var2.close();
- }
- } catch (Exception var8) {
- }
-
- }
-
- // $FF: renamed from: a (byte[], int) int
- private static int method_2(byte[] var0, int var1) {
- int var2 = 0;
- var2 = var0[var1 + 3];
- var2 <<= 8;
- var2 += var0[var1 + 2];
- var2 <<= 8;
- var2 += var0[var1 + 1];
- var2 <<= 8;
- var2 += var0[var1];
- return var2;
- }
-
- // $FF: renamed from: a (byte[]) java.lang.String[]
- private static String[] method_3(byte[] var0) throws Exception {
- int var1 = 4;
- int var2 = method_2(var0, var1);
- var1 += 4;
- int var3 = method_2(var0, var1);
- var1 += 4;
- String var4 = new String(var0, var1, var3);
- setCurrentDirectory(var4.getBytes());
- var1 += var3;
- String[] var5 = new String[var2 - 1];
-
- for(int var6 = 1; var6 < var2; ++var6) {
- var3 = method_2(var0, var1);
- var1 += 4;
- var5[var6 - 1] = new String(var0, var1, var3);
- var1 += var3;
- }
-
- return var5;
- }
-
- // $FF: renamed from: a (java.lang.String[]) void
- private static void method_4(String[] var0) {
- System.out.print("[javacb]");
-
- for(int var1 = 0; var1 < var0.length; ++var1) {
- System.out.print(" [" + var0[var1] + "]");
- }
-
- }
-
- // $FF: renamed from: a (java.lang.String) java.lang.String
- private static String method_5(String var0) {
- try {
- MessageFormat var1 = new MessageFormat("{0}.java:{1,number,integer}:{2}");
- Object[] var2 = var1.parse(var0);
- String var3 = (String)var2[0];
- int var4 = var3.indexOf(58);
- if (var4 != -1) {
- if (var4 != 1) {
- return null;
- }
-
- var4 = var3.indexOf(58, var4 + 1);
- if (var4 != -1) {
- return null;
- }
- }
-
- return (new File(var3)).getName() + ".err";
- } catch (Exception var5) {
- return null;
- }
- }
-
- // $FF: renamed from: a (b, byte[], int) void
- private static void method_6(b var0, byte[] var1, int var2) {
- System.arraycopy(var0.for, 0, var1, 0, var0.for.length);
- var1[var0.for.length] = (byte)(field_0 % 100);
- var1[var0.for.length + 1] = (byte)Math.min(var2, 255);
- }
-
- // $FF: renamed from: a (b, byte[], int, boolean) byte[]
- private static byte[] method_7(b var0, byte[] var1, int var2, boolean var3) throws Exception {
- int var4 = var0.for.length + 2;
- method_6(var0, var1, var2);
- if (var3) {
- d var5 = new d(new String(var1, var4, var1.length - var4));
- Hashtable var6 = new Hashtable();
- BufferedWriter var7 = null;
-
- while(true) {
- String var8 = var5.a();
- if (var8 == null) {
- Enumeration var11 = var6.elements();
-
- while(var11.hasMoreElements()) {
- var7 = (BufferedWriter)var11.nextElement();
- var7.close();
- }
- break;
- }
-
- String var9 = method_5(var8);
- if (var9 != null) {
- var7 = (BufferedWriter)var6.get(var9);
- if (var7 == null) {
- var7 = new BufferedWriter(new FileWriter(var9));
- var6.put(var9, var7);
- }
- }
-
- if (var7 != null) {
- ((Writer)var7).write(var8);
- var7.newLine();
- }
- }
- }
-
- return var1;
- }
-
- // $FF: renamed from: a (b, byte[], boolean) byte[]
- private static byte[] method_8(b var0, byte[] var1, boolean var2) throws Exception {
- String[] var3 = method_3(var1);
- System.out.print("Starting ");
- method_4(var3);
- System.out.println();
- long var4 = System.currentTimeMillis();
- ByteArrayOutputStream var6 = new ByteArrayOutputStream();
- ++field_0;
- ((OutputStream)var6).write(new byte[var0.for.length + 2]);
- int var7 = var0.a(var6, var3);
- ((OutputStream)var6).flush();
- byte[] var8 = method_7(var0, var6.toByteArray(), var7, var2);
- long var9 = System.currentTimeMillis();
- System.out.println("Done with code " + var7 + " (" + (var9 - var4) + " msec).");
- return var8;
- }
-
- public static void main(String[] var0) {
- System.out.println("JavaC Booster for Win32 (Server) v1.0.");
- System.out.println("(c) DEF Group, 2001.");
- System.out.println();
-
- try {
- method_0();
- b var1 = new b();
- if (var1.a) {
- System.out.println("Using the com.sun.tools-based javac compiler.");
- } else {
- System.out.println("Using the sun.tools.-based javac compiler.");
- }
-
- boolean var2 = isSaveErr();
- System.out.println("Saving error messages into *.ERR is " + (var2 ? "on" : "off") + ".");
- System.out.println();
- System.out.println("Ready.");
- signalReady();
-
- while(true) {
- byte[] var3 = waitStart();
- if (var3 == null) {
- throw new a("An error during waiting connection");
- }
-
- try {
- var3 = method_8(var1, var3, var2);
- } catch (Exception var7) {
- System.out.println("Error: " + var7);
- ((Throwable)var7).printStackTrace();
- byte[] var5 = ((Throwable)var7).toString().getBytes();
- var3 = new byte[var1.for.length + 2 + var5.length];
- method_6(var1, var3, 255);
- System.arraycopy(var5, 0, var3, var1.for.length + 2, var5.length);
- }
-
- signalDone(var3);
- }
- } catch (Throwable var8) {
- if (var0.length >= 1) {
- method_1(var0[0], var8.toString());
- }
-
- System.out.println(var8);
-
- try {
- System.out.println("Waiting 5 seconds before exit...");
- Thread.sleep(5000L);
- } catch (Exception var6) {
- }
-
- }
- }
- }
-